package com.interview.a_多线程.b_启动线程.a_比较两种启模式;

//        run方法 在主线程运行 -- 错误启动
//
//        start方法 在主线程运行 -- 正确启动
//
//        start之后
//        会 通知 JVM来运行这个子线程（由线程调度器自己决定运行时间）
//        线程进入 就绪状态 (上下文，栈 ，线程状态 ，寄存器（PC） 准备工作都配置完成)
//        然后获取CPU  转换为执行状态
public class StartOrRun {


    public static void main(String[] args) throws InterruptedException {
        Runnable runnable = () -> {
            System.out.println("Runnable run 方法启动 ：" + Thread.currentThread().getName());
        };
        runnable.run();
        Thread.sleep(5000);
        new Thread(runnable).run();
        Thread.sleep(5000);
        new Thread(runnable).start();
    }
}

interface A extends B {
}

interface B {
}

class D {

}

abstract class C extends D implements B, A {

}
